SDMA multi-device wireless communications

ABSTRACT

The present disclosure includes systems and techniques relating to wireless communications. A described technique, for example, includes transmitting a multi-user frame, in a frequency band, that concurrently provides data via spatially steered streams to a group of wireless communication devices; monitoring for acknowledgements, in the frequency band, to respective portions of the multi-user frame; detecting a lack of reception of an expected acknowledgement from a first device of the wireless communication devices; and transmitting, based on the lack of reception of the expected acknowledgement, a signal in the frequency band to prevent a transmission from a wireless communication device that is separate from the group of wireless communication devices, and to control transmission of an acknowledgement from a second device of the wireless communication devices.

CROSS REFERENCE TO RELATED APPLICATIONS

This disclosure is a continuation application of U.S. patent applicationSer. No. 12/850,529, filed Aug. 4, 2010 and entitled “SDMA MULTI-DEVICEWIRELESS COMMUNICATIONS” (now U.S. Pat. No. 8,923,217 issued Dec. 30,2014), which claims the benefit of the priority of U.S. ProvisionalApplication Ser. No. 61/233,428, filed on Aug. 12, 2009 and entitled“SDMA MAC SUPPORTS,” U.S. Provisional Application Ser. No. 61/240,933,filed on Sep. 9, 2009, entitled “MULTI-USER RESPONSES,” U.S. ProvisionalApplication Ser. No. 61/241,826, filed on Sep. 11, 2009, entitled “SDMAMAC SUPPORT,” U.S. Provisional Application Ser. No. 61/242,928, filed onSep. 16, 2009, entitled “SDMA MAC SUPPORT,” U.S. Provisional ApplicationSer. No. 61/251,411, filed on Oct. 14, 2009, entitled “SDMA MACSUPPORT,” U.S. Provisional Application Ser. No. 61/252,480, filed onOct. 16, 2009, entitled “MULTI-USER RESPONSE RECOVERY,” and U.S.Provisional Application Ser. No. 61/324,254, filed on Apr. 14, 2010,entitled “MULTI-USER RESPONSES.” All of the above identifiedapplications are incorporated herein by reference in their entirety.

BACKGROUND

The present disclosure relates to wireless communication systems such asWireless Local Area Networks (WLANs)

Wireless communication systems can include multiple wirelesscommunication devices that communicate over one or more wirelesschannels. When operating in an infrastructure mode, a wirelesscommunication device called an access point (AP) provides connectivitywith a network such as the Internet to other wireless communicationdevices, e.g., client stations or access terminals (AT). Variousexamples of wireless communication devices include mobile phones, smartphones, wireless routers, wireless hubs. In some cases, wirelesscommunication electronics are integrated with data processing equipmentsuch as laptops, personal digital assistants, and computers.

Wireless communication systems such as WLANs can use one or morewireless communication technologies such as orthogonal frequencydivision multiplexing (OFDM). In an OFDM based wireless communicationsystem, a data stream is split into multiple data substreams. Such datasubstreams are sent over different OFDM subcarriers, which can bereferred to as tones or frequency tones.

Some wireless communication systems use a single-in-single-out (SISO)communication approach, where each wireless communication device uses asingle antenna. Other wireless communication systems use amultiple-in-multiple-out (MIMO) communication approach, where a wirelesscommunication device, for example, uses multiple transmit antennas andmultiple receive antennas. WLANs such as those defined in the Instituteof Electrical and Electronics Engineers (IEEE) wireless communicationsstandards, e.g., IEEE 802.11a, IEEE 802.11n, or IEEE 802.11ac, can useOFDM to transmit and receive signals. Moreover, WLANs, such as onesbased on the IEEE 802.11n standard, can use OFDM and MIMO.

Wireless communication devices in a WLAN can use one or more protocolsfor medium access control (MAC) and physical (PHY) layers. For example,a wireless communication device can use a Carrier Sense Multiple Access(CSMA) with Collision Avoidance (CA) based protocol for a MAC layer andOFDM for the PHY layer. A MIMO-based wireless communication device cantransmit and receive multiple spatial streams over multiple antennas ineach of the tones of an OFDM signal.

SUMMARY

The present disclosure includes systems and techniques for wirelesslocal area networks. According to an aspect of the described systems andtechniques, a method for wireless local area networks includestransmitting, in a frequency band, information to wireless communicationdevices. Transmitting information can include transmitting spatiallysteered first signals that concurrently provide data to the wirelesscommunication devices and transmitting one or more second signals to thewireless communication devices to control transmission of responses suchas acknowledgements from the wireless communication devices in thefrequency band. An acknowledgement can indicate a successful receptionof a respective portion of the data. The method can include monitoringfor the responses in the frequency band. The method can includeselectively transmitting, based on a lack of reception of an expectedacknowledgement, a third signal in the frequency band to prevent atransmission from another wireless communication device different thanthe wireless communication devices. The third signal can includeinformation to reschedule a response from one or more devices.

In some implementations, monitoring for the acknowledgements in thefrequency band can include detecting a lack of reception of anacknowledgement from a first device of the wireless communicationdevices. Selectively transmitting the third signal can includetransmitting information to a second device of the wirelesscommunication devices to reschedule a transmission of a response fromthe second device, where the second device is originally scheduled tosend an acknowledgement after the first device. Transmitting the one ormore second signals can include transmitting first response schedulinginformation to cause a first device of the wireless communicationdevices to transmit an acknowledgement during a first portion of anacknowledgement period and transmitting second response schedulinginformation to cause a second device of the wireless communicationdevices to transmit an acknowledgement during a second, subsequentportion of the acknowledgement period.

Implementations can include controlling the wireless communicationdevices to perform reachability testing and generating anacknowledgement response schedule based on the reachability testing. Thereachability testing can include determining whether a signal emanatingfrom the first device is at least received by the second device. In someimplementations, the first and second response scheduling informationare based on the acknowledgement response schedule.

Transmitting the spatially steered first signals can includetransmitting a first packet data unit (PDU) of a medium access control(MAC) layer to a first device of the wireless communication devices viaa first spatial wireless channel and transmitting a second PDU of theMAC layer to a second device of the wireless communication devices via asecond spatial wireless channel. The first PDU can include firstinformation that causes the first device to selectively transmit anacknowledgement in a first period. The second PDU can include secondinformation that causes the second device to selectively transmit anacknowledgement in a second period that is subsequent to the firstperiod.

Transmitting the spatially steered first signals can includetransmitting space division multiple access frames to the wirelesscommunication devices. In some implementations, at least one of theframes can include padding. In some implementations, an amount of thepadding is based on a maximum length that is determined by lengths ofthe frames.

Transmitting the one or more second signals can include transmitting ablock acknowledgment request to at least a first device of the wirelesscommunication devices. Transmitting the block acknowledgment request caninclude transmitting an aggregated block acknowledgment request to thewireless communication devices. The aggregated block acknowledgmentrequest can include a first indication of an acknowledgement responsetime for the first device and a second indication of a subsequentacknowledgement response time for a second device of the wirelesscommunication devices.

Transmitting the one or more second signals can include transmitting,via a first spatial wireless channel, a signaling field in a physicallayer to signal a first acknowledgement response time for a first deviceof the wireless communication devices; and transmitting, via a secondspatial wireless channel, a signaling field in a physical layer tosignal a second, subsequent acknowledgement response time for a seconddevice of the wireless communication devices.

The described systems and techniques can be implemented in electroniccircuitry, computer hardware, firmware, software, or in combinations ofthem, such as the structural means disclosed in this specification andstructural equivalents thereof. This can include at least onecomputer-readable medium embodying a program operable to cause one ormore data processing apparatus (e.g., a signal processing deviceincluding a programmable processor) to perform operations described.Thus, program implementations can be realized from a disclosed method,system, or apparatus, and apparatus implementations can be realized froma disclosed system, computer-readable medium, or method. Similarly,method implementations can be realized from a disclosed system,computer-readable medium, or apparatus, and system implementations canbe realized from a disclosed method, computer-readable medium, orapparatus.

For example, one or more disclosed embodiment can be implemented invarious systems and apparatus, including, but not limited to, a specialpurpose data processing apparatus (e.g., a wireless communication devicesuch as a wireless access point, a remote environment monitor, a router,a switch, a computer system component, a medium access unit), a mobiledata processing apparatus (e.g., a wireless client, a cellulartelephone, a smart phone, a personal digital assistant (PDA), a mobilecomputer, a digital camera), a general purpose data processing apparatussuch as a computer, or combinations of these.

Systems and apparatuses for wireless communication can include circuitryto transmit, in a frequency band, signals to wireless communicationdevices, where the signals includes spatially steered first signals thatconcurrently provide data to the wireless communication devices, and oneor more second signals to the wireless communication devices to controltransmission of acknowledgements from the wireless communication devicesin the frequency band; circuitry to monitor for the acknowledgements inthe frequency band; and circuitry to selectively transmit, based on alack of reception of an expected acknowledgement, a third signal in thefrequency band to prevent a transmission from another wirelesscommunication device different than the wireless communication devices.

In some implementations, circuitry to monitor is configured to detect alack of reception of an acknowledgement from a first device of thewireless communication devices. In some implementations, circuitry toselectively transmit the third signal is configured to transmitinformation to a second device of the wireless communication devices toreschedule a transmission of a response from the second device.

In some implementations, the one or more second signals collectivelyinclude first response scheduling information to cause a first device ofthe wireless communication devices to transmit an acknowledgement duringa first portion of an acknowledgement period and second responsescheduling information to cause a second device of the wirelesscommunication devices to transmit an acknowledgement during a second,subsequent portion of the acknowledgement period.

Implementations can include circuitry to control the wirelesscommunication devices to perform reachability testing. The reachabilitytesting can include determining whether a signal emanating from thefirst device is at least received by the second device. Implementationscan include circuitry to generate an acknowledgement response schedulebased on the reachability testing. In some implementations, the firstand second response scheduling information are based on theacknowledgement response schedule.

In some implementations, the one or more second signals is indicative ofa block acknowledgment request to at least a first device of thewireless communication devices. In some implementations, the one or moresecond signals are indicative of an aggregated block acknowledgmentrequest to the wireless communication devices. The aggregated blockacknowledgment request can include a first indication of anacknowledgement response time for the first device and a secondindication of a subsequent acknowledgement response time for a seconddevice of the wireless communication devices.

In some implementations, the spatially steered first signalscollectively includes a first PDU of a MAC layer to a first device ofthe wireless communication devices via a first spatial wireless channeland a second PDU of the MAC layer to a second device of the wirelesscommunication devices via a second spatial wireless channel. The firstPDU can include first information that causes the first device toselectively transmit an acknowledgement in a first period. The secondPDU can include second information that causes the second device toselectively transmit an acknowledgement in a second period that issubsequent to the first period.

Implementations can include circuitry to transmit, via a first spatialwireless channel, a signaling field in a physical layer to signal afirst acknowledgement response time for a first device of the wirelesscommunication devices. Implementations can include circuitry totransmit, via a second spatial wireless channel, a signaling field in aphysical layer to signal a second, subsequent acknowledgement responsetime for a second device of the wireless communication devices.Implementations can include circuitry to transmit space divisionmultiple access frames to the wireless communication devices. One ormore frames can include padding. An amount of the padding can be basedon a maximum length that is determined by lengths of the frames.

In another aspect, systems and apparatuses can include circuitry tocommunicate with two or more wireless communication devices andprocessor electronics. The processor electronics can be configured tocontrol the transmission of signals, in a frequency band, to thewireless communication devices. The signals can include spatiallysteered first signals that concurrently provide data to the wirelesscommunication devices. The signals can include one or more secondsignals to the wireless communication devices to control transmission ofresponses from the wireless communication devices in the frequency band.The processor electronics can be configured to monitor for the responsesin the frequency band. The processor electronics can be configured tocontrol, based on a lack of reception of an expected response, atransmission of a third signal in the frequency band to prevent atransmission from another wireless communication device different thanthe wireless communication devices.

In some implementations, the processor electronics are configured todetect a lack of reception of an acknowledgement from a first device ofthe wireless communication devices. The third signal can includeinformation to reschedule a transmission of a response from a seconddevice of the wireless communication devices.

Details of one or more implementations are set forth in the accompanyingdrawings and the description below. Other features and advantages may beapparent from the description and drawings, and from the claims.

DRAWING DESCRIPTIONS

FIG. 1A shows an example of a wireless local area network with twowireless communication devices.

FIG. 1B shows an example of a wireless communication devicearchitecture.

FIG. 2 shows an example of a functional block diagram of a transmit pathof wireless communication device.

FIG. 3 shows an example of an architecture that combines multipletransmission signals for transmission on multiple antennas.

FIGS. 4, 5, and 6 show different examples of communication processes.

FIGS. 7A, 7B, 7C, 7D, 7E, and 7F show examples of communication flowlayouts that include one or more block acknowledgement requests that arebased on space division multiple access communications.

FIGS. 8A, 8B, 8C, 8D, 8E, 8F, 8G, 8H, 8I, 8J, and 8K show examples ofcommunication flow layouts that include MAC scheduled acknowledgementinformation that is based on space division multiple accesscommunications.

FIGS. 9A, 9B, 9C, 9D, and 9E show examples of communication flow layoutsthat include physical layer scheduled acknowledgement information thatis based on space division multiple access communications.

FIG. 10 shows an example of a communication flow layout that includesimmediate response scheduling information.

FIGS. 11A, 11B, 11C, 11D, 11E, 11F, 11G, and 11H show examples oftransmission sequences based on multi-user response recovery.

FIG. 12A shows an example of a communication flow layout associated witha multi-user reachability check process.

FIG. 12B shows an example of a communication flow layout based on amulti-user reachability information.

FIGS. 13A and 13B show different examples of a communication flow layoutthat includes downlink and uplink space division multiple accesscommunications.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

This disclosure provides details and examples of technologies forwireless local area networks, including systems and techniques for spacedivision multiple access (SDMA) communications and multi-deviceacknowledgement response mechanisms. Examples of such responsemechanisms include a polling based multi-device response mechanism, ascheduled based multi-device response mechanism, and a sequentialmulti-device response mechanism. The techniques and architecturespresented herein can be implemented in a variety of wirelesscommunication systems such as ones based on IEEE 802.11n or IEEE802.11ac.

FIG. 1A shows an example of a wireless local area network with twowireless communication devices. Wireless communication devices 105, 107such as an access point (AP), base station (BS), access terminal (AT),client station, or mobile station (MS) can include circuitry such asprocessor electronics 110, 112. Processor electronics 110, 112 caninclude one or more processors that implement methods effecting thetechniques presented in this disclosure. Wireless communication devices105, 107 include circuitry such as transceiver electronics 115, 117 tosend and receive wireless signals over one or more antennas 120 a, 120b, 122 a, 122 b. In some implementations, transceiver electronics 115,117 include multiple radio units. In some implementations, a radio unitincludes a baseband unit (BBU) and a radio frequency unit (RFU) totransmit and receive signals. Wireless communication devices 105, 107include one or more memories 125, 127 configured to store informationsuch as data, instructions, or both. In some implementations, wirelesscommunication devices 105, 107 include dedicated circuitry fortransmitting and dedicated circuitry for receiving. In someimplementations, a wireless communication device 105, 107 is operable toact as a serving device (e.g., an access point), or a client device.

A first wireless communication device 105 can transmit data to two ormore devices via two or more spatial wireless communication channelssuch as orthogonal spatial subspaces, e.g., orthogonal Space DivisionMultiple Access (SDMA) subspaces. For example, the first wirelesscommunication device 105 can concurrently transmit data to a secondwireless communication device 107 using a spatial wireless channel andcan transmit data to a third wireless communication device (not shown)using a different spatial wireless channel. In some implementations, thefirst wireless communication device 105 implements a space divisiontechnique to transmit data to two or more wireless communication devicesusing two or more spatial multiplexing matrices to provide spatialseparated wireless channels in a single frequency range.

Wireless communication devices such as a MIMO enabled access point cantransmit signals for multiple client wireless communication devices atthe same time in the same frequency range by applying one or moretransmitter side beam forming matrices to spatially separate signalsassociated with different client wireless communication devices. Basedon different signal patterns at the different antennas of the wirelesscommunication devices, each client wireless communication device candiscern its own signal. A MIMO enabled access point can participate insounding to obtain channel state information for each of the clientwireless communication devices. The access point can compute spatialmultiplexing matrices such as spatial steering matrices based on thedifferent channel state information to spatially separate signals todifferent client devices.

A wireless communication device can use a transmission signal model togenerate SDMA transmission signals for two or more devices. GeneratingSDMA transmission signals can include using spatial multiplexingmatrixes associated with respective client devices. In someimplementations, a wireless communication device can construct amultiplexing matrix W for client devices based on interferenceavoidance, signal-to-interference and noise ratio (SINR) balancing, or acombination of these. Interference avoidance attempts to minimize theamount of non-desired signal energy arriving at a client device.Interference avoidance can ensure that signals intended for a particularclient arrive only at that particular client device and cancel out at adifferent client device. A wireless communication device can performSINR balancing. SINR balancing can include determining multiplexingmatrices to actively control the SINRs observed at different clientdevices. For example, one SINR balancing approach can include maximizingthe minimum SINR across serviced client devices.

A serving device, such as a device operated as an access point, cansimultaneously communicate with multiple client devices via differentspatial wireless channels. The serving device can use multiplexingmatrices, such as steering matrices, to transmit information ondifferent spatial wireless channels. The serving device can multiply atransmission vector for the i-th client device by a respectivemultiplexing matrix. The multiplexing matrix for each client device candiffer. A multiplexing matrix can be a function of the wireless channelbetween the serving device and a client device. The serving device cancombine steered signal vectors corresponding to the different clientdevices to produce transmission signals that simultaneously transmitdifferent information to respective client devices.

In some implementations, a serving device uses an OFDM transmissionsignal model based on

$S = {\sum\limits_{i = 1}^{N}{W_{i}x_{i}}}$where s is a transmitted signal vector for one tone, N is a number ofsimultaneously serviced clients, x_(i) is an information vector(T_(i)×1, T<P_(i)) intended for the i-th client, W_(i) is a multiplexingmatrix (M×T_(i)) for the i-th client, M is a number of transmit antennasof the serving device, and P_(i) is the number of receive antennas ofthe i-th client.

In some implementations, a wireless communication device can determinemultiple wireless channel matrices H_(k) ^(i) based on one or morereceived signals. Here, H_(k) ^(i) represents the channel conditions forthe k-th tone associated with the i-th client. A serving device cantransmit on multiple tones to two or more clients. For example, thefirst tone received by the first client can be expressed as H₁ ¹[W₁¹x₁+W₁ ²x₂+ . . . +W₁ ^(N)x_(S)], where W_(k) ^(i) is the multiplexingmatrix for the i-th client at the k-th tone.

A multiplexing matrix W can be selected to cause the first client toreceive H₁ ¹W₁ ¹x₁ and to have the remaining signals x₂, x₃, . . . ,x_(S) be in a null space for the first client. Therefore, when using asignal interference approach, the values of the multiplexing matrix Ware selected such that H₁ ¹W₁ ²≈0, . . . , H₁W₁ ^(N)≈0. In other words,the multiplexing matrix W can adjust phases and amplitudes for theseOFDM tones such that a null is created at the first client. That way,the first client can receive the intended signal x₁ without interferencefrom other signals x₂, x₃, . . . , x_(S) intended for the other clients.

In general, a received signal can include a signal component intendedfor i-th client and one or more co-channel interference components fromone or more signals intended for one or more other clients. For example,a received signal at the i-th client is expressed by:

$y_{i} = {{H_{i}W_{i}x_{i}} + {H_{i}{\sum\limits_{j \neq i}{W_{j}x_{j}}}} + n_{i}}$where H_(i) represents a wireless channel matrix associated with awireless channel between a serving device and the i-th client, and n_(i)represents noise at the i-th client. The summation is over values of jcorresponding to clients other than the i-th client.

When servicing multiple clients simultaneously, power available at aserving device can be allocated across multiple clients. This, in turn,affects the SINR observed at each of the clients. The serving device canperform flexible power management across the clients. For example, aclient with low data rate requirements can be allocated less power bythe serving device. In some implementations, transmit power is allocatedto clients that have high probability of reliable reception (so as notto waste transmit power). Power can be adjusted in the correspondingmultiplexing matrix W, using other amplitude adjustment methods, orboth, such as adjusting power with the matrix W after using othermethods.

A serving device can determine a multiplexing matrix W associated with aclient based on channel conditions between the serving device and theclient. The serving device and the client can perform sounding todetermine wireless channel characteristics. Various examples of soundingtechniques include explicit sounding and implicit sounding.

FIG. 1B shows an example of a wireless communication devicearchitecture. A wireless communication device 150 can produce signalsfor different clients that are spatially separated by respectivemultiplexing matrices W_(i), e.g., steering matrices. Each W_(i) isassociated with a subspace. A wireless communication device 150 includesa MAC module 155. The MAC module 155 can include one or more MAC controlunits (MCUs) (not shown). The wireless communication device 150 includestwo or more modules 160 a, 160 b that receive data streams from the MACmodule 155 which are associated with different clients. The two or moremodules 160 a, 160 b can perform encoding such as a forward errorcorrection (FEC) encoding technique and modulation on a data stream. Thetwo or more modules 160 a, 160 b respectively are coupled with two ormore spatial mapping modules 165 a, 165 b.

The spatial mapping modules 165 a, 165 b can access a memory 170 a, 170b to retrieve a spatial multiplexing matrix associated with a datastream's intended client. In some implementations, the spatial mappingmodules 165 a, 165 b access the same memory, but at different offsets toretrieve different matrices. An adder 175 can sum outputs from thespatial mapping modules 165 a, 165 b.

An Inverse Fast Fourier Transform (IFFT) module 180 can perform an IFFTon an output of the adder 175 to produce a time domain signal. A digitalfiltering and radio module 185 can filter the time domain signal andamplify the signal for transmission via an antenna module 190. Anantenna module 190 can include multiple transmit antennas and multiplereceive antennas. In some implementations, an antenna module 190 is adetachable unit that is external to a wireless communication device 150.

In some implementations, a wireless communication device 150 includesone or more integrated circuits (ICs). In some implementations, a MACmodule 155 includes one or more ICs. In some implementations, a wirelesscommunication device 150 includes an IC that implements thefunctionality of multiple units and/or modules such as a MAC module,MCU, BBU, or RFU. In some implementations, a wireless communicationdevice 150 includes a host processor that provides a data stream to aMAC module 155 for transmission. In some implementations, a wirelesscommunication device 150 includes a host processor that receives a datastream from the MAC module 155. In some implementations, a hostprocessor includes a MAC module 155.

A MAC module 155 can generate a MAC Service Data Unit (MSDU) based ondata received from higher level protocols such a Transmission ControlProtocol over Internet Protocol (TCP/IP). A MAC module 155 can generatea MAC Protocol Data Unit (MPDU) based on a MSDU. In someimplementations, a MAC module 155 can generate a Physical Layer ServiceData Unit (PSDU) based on a MPDU. For example, a wireless communicationdevice can generate a data unit, e.g., a MPDU or a PSDU, that isintended for a single wireless communication device recipient.

In some implementations, a wireless communication device 150 can performomni-directional transmissions that are intended for multiple clientdevices. For example, the MAC module 155 operates a single data pathwaybetween the MAC module 155 and the IFFT module 180. In someimplementations, a wireless communication device 150 can perform steeredtransmissions that concurrently separate data to multiple clientdevices. The device 150 can alternate between omni-directionaltransmissions and steered transmissions. In steered transmissions, thedevice 150 can transmit a first Physical Layer Protocol Data Unit (PPDU)to a first client via a first spatial wireless channel and concurrentlytransmit a second PPDU to a second client via a second spatial wirelesschannel.

FIG. 2 shows an example of a functional block diagram of a transmit pathof wireless communication device. In this example, a transmit path isconfigured for MIMO communications. A wireless communication device suchas an AP can include one or more transmit paths. An AP's transmit pathcan include an encoding module 205 configured to receive a data stream,such as an audio data stream, a video data stream, or combinationthereof. The encoding module 205 outputs encoded bit streams to aspatial parsing module 210, which performs spatial mapping to producemultiple outputs.

Outputs of the spatial parsing module 210 are input into constellationmapping modules 215, respectively. In some implementations, aconstellation mapping module 215 includes a serial-to-parallel converterthat converts an incoming serial stream to multiple parallel streams.The constellation mapping module 215 can perform quadrature amplitudemodulation (QAM) on multiple streams produced by a serial-to-parallelconversion. The constellation mapping module 215 can output OFDM tonesthat are input to a spatial multiplexing matrix module 220. The spatialmultiplexing matrix module 220 can multiply the OFDM tones by a spatialmultiplexing matrix to produce signal data for multiple transmitantennas.

Outputs of the spatial multiplexing matrix module 220 are input toInverse Fast Fourier Transform (IFFT) modules 225. In someimplementations, an IFFT module 225 can include a multiple access moduleto map different streams to different subcarrier groups. Outputs of theIFFT modules 225 are input to cyclic prefix (CP) modules 230. Outputs ofthe CP modules 230 are input to digital-to-analog converters (DACs) 235,which produce analog signals for transmission on multiple transmitantennas, respectively.

FIG. 3 shows an example of an architecture that combines multipletransmission signals for transmission on multiple antennas. A wirelesscommunication device can include two or more transmit paths 301, 302,303 that are each configured for MIMO communications. A first transmitpath 301 generates multiple transmit signals 310 a, 310 b, 310 n fortransmission on multiple transmit antennas 320 a, 320 b, 320 n,respectively. A second transmit path 302 generates multiple transmitsignals 311 a, 311 b, 311 n for transmission on multiple transmitantennas 320 a, 320 b, 320 n, respectively. A third transmit path 303generates multiple transmit signals 312 a, 312 b, 312 n, fortransmission on multiple transmit antennas 320 a, 320 b, 320 n,respectively.

The wireless communication device can include multiple summing modules315 a, 315 b, 315 n that are associated with multiple transmit antennas320 a, 320 b, 320 n, respectively. In some implementations, summingmodules 315 a, 315 b, 315 n sum corresponding outputs of DACs in each ofthe transmit paths 301, 302, 303 to produce combined transmit signalsfor each of antennas 320 a, 320 b, 320 n.

An access point can concurrently send individualized information tomultiple clients. In response, the clients can send an acknowledgementresponse to the access point that indicates a successful reception ofthe information. Moreover, the access point can send acknowledgementresponse information to the client to control the client'sacknowledgement response, e.g., a scheduled time period in which aclient can transmit an acknowledgement. The access point can transmitinformation to reschedule, extend, or protect a transmission period foracknowledgement responses in the event that a client does not send anacknowledgement response.

FIG. 4 shows an example of a communication process. At 405, acommunication process includes transmitting, in a frequency band,spatially steered first signals that concurrently provide data to two ormore wireless communication devices. For example, a serving device suchas an access point can perform a transmission of two or more steeredcommunications to two or more client devices via a wireless medium. Thewireless medium can be shared by other devices, such as anonparticipating device, e.g., a device that is not in communicationwith the serving device.

In some implementations, transmitting spatially steered signals caninclude transmitting a first packet data unit to a first client via afirst spatial wireless channel and a second packet data unit to a secondclient via a second spatial wireless channel. In some implementations,the first packet data unit includes a first response schedulinginformation such as a first MAC duration value that causes the firstdevice to selectively transmit an acknowledgement in a first period,whereas the second packet data unit includes second response schedulinginformation such as a second, longer MAC duration value that causes thesecond device to selectively transmit an acknowledgement in a secondperiod that is subsequent to the first period. These and othertechniques described herein can be extended to three or more clients.

In some implementations, transmitting the spatially steered firstsignals can include transmitting SDMA frames to multiple wirelesscommunication devices, respectively. In some cases, at least one of theSDMA frames includes padding, such as MAC padding or PHY padding. Anamount of the padding can be based on a maximum length that isdetermined by the lengths of the SDMA frames.

At 410, the process includes transmitting, in the frequency band, one ormore second signals to the wireless communication devices to controltransmission of acknowledgements from the devices in the frequency band.Transmitting one or more second signals can include transmittingresponse scheduling information. In some implementations, transmittingone or more second signals includes sending information to trigger atransmission of a response. For example, an access point can send amessage to poll a client for a response. In some implementations, thefirst and second signals refer to first and second portions of a signal.In some implementations, the first and second signals are transmitted ina frame by an access point before a client transmits a response. In someimplementations, one or more of the second signals are interleaved withclient responses. In some implementations, transmitting spatiallysteered first signals can include transmitting the one or more secondsignals. For example, an access point can transmit spatially steeredresponse scheduling information as the second signals to the devices,respectively. In some implementations, a response can include anacknowledgment of a received frame, a feedback to a request (if itexists) in a received frames, or both.

At 415, the process includes monitoring for the acknowledgements in thefrequency band. The acknowledgements can indicate a successful receptionof a respective portion of steered communication data. If a client failsto successfully receive data from a serving device, the client is notrequired to send a response. If a client successfully receives data fromthe serving device, the client can send an acknowledgement. In someimplementations, an acknowledgement can include a block acknowledgement(BA).

At 420, the process includes selectively transmitting, based on a lackof reception of an expected acknowledgement, a third signal in thefrequency band to prevent a transmission from a nonparticipating device.The third signal can include information to reschedule a response. Forexample, a serving device can transmit the third signal based on adetection of a missed acknowledgement from at least one of the clientdevices. In some implementations, the third signal includes informationto establish or extend a transmission period.

In some implementations, a communication process includes transmitting,via a first spatial wireless channel, a signaling field in a physicallayer to signal a first acknowledgement response time for a firstdevice. The process can include transmitting, via a second spatialwireless channel, a signaling field in a physical layer to signal asecond, subsequent acknowledgement response time for a second device.

FIG. 5 shows another example of a communication process. A communicationprocess can initiate reachability testing to collect reachabilityinformation to manage devices that are in communication with a servingdevice. At 505, the communication process includes controlling two ormore client devices to perform reachability testing. Reachabilitytesting, for example, can include determining whether a signal emanatingfrom a device is received by the other ones of the two or more clientdevices. Such determining can be repeated for multiple devices in agroup of SDMA based clients.

At 510, the process includes generating an acknowledgement responseschedule based on the reachability testing. An acknowledgement responseschedule can specify a response sequence. At 515, the process includestransmitting first information, which is based on the schedule, to causea first client device to transmit an acknowledgement during a firstportion of an acknowledgement period. The first client device can usethe first information to determine when to transmit a response. At 520,the process includes transmitting second information, which is based onthe schedule, to cause a second client device to transmit anacknowledgement during a second, subsequent portion of theacknowledgement period. The second client device can use the secondinformation to determine when to transmit a response. In someimplementations, the second information, upon arrival, can trigger thesecond client device to send a response.

In some implementations, after an access point transmits responsesequence information in SDMA frames, the clients can send responsessequentially based on the received response sequence and, if required,counting of one or more responses from other clients. If a client cannothear other client transmissions, the access point can send a request tothe client to trigger a response.

FIG. 6 shows another example of a communication process. A communicationprocess can selectively re-affirm, or in some cases extend, atransmission period to prevent nonparticipating devices frominterrupting a sequence of acknowledgements. At 605, the communicationprocess includes performing steered transmissions to multiple devices.Performing steered transmissions to multiple devices can includeproducing multiple transmission signals that concurrently transmitdifferent data packets to respective clients. At 610, the processincludes detecting a lack of reception of an acknowledgement from afirst device. For example, an access point can set a timer to expirebased on a time range of when an expected acknowledgement should bereceived. Based on an expiration of the timer, the access point candetect a lack of reception of an acknowledgement. At 615, the processincludes transmitting a block acknowledgement request to a seconddevice, which is scheduled to send an acknowledgement after the firstdevice. The block acknowledgement request can be padded based on anexisting schedule of acknowledgements.

With respect to the following figures, transmission signals can includeone or more legacy training fields (L-TFs) such as a Legacy ShortTraining Field (L-STF) or Legacy Long Training Field (L-LTF).Transmission signals can include one or more Legacy Signal Fields(L-SIGs). Transmission signals can include one or more Very HighThroughput (VHT) fields such as a VHT Signal Field (VHT-SIG), a VHTShort Training Field (VHT-STF), or a VHT Long Training Field (VHT-LTF).Transmission signals can include VHT-Data fields.

FIGS. 7A, 7B, 7C, 7D, 7E, and 7F show examples of communication flowlayouts that include one or more block acknowledgement requests that arebased on space division multiple access communications. An access pointcan transmit information to multiple SDMA clients including applicationdata and one or more block acknowledgement requests (BARs). Based onsuccessfully receiving a signal, a client can send a blockacknowledgement (BA or Block ACK). In some implementations, an accesspoint can initiate a Block ACK with multiple Block ACK capable SDMAclients by using an Add Block Acknowledgement (ADDBA) request andresponse exchange. In some implementations, an access point can use animplicit ACK policy to cause a client to immediately transmit anacknowledgement response after receiving a VHT-Data segment. In someimplementations, immediately transmitting an acknowledgement responseafter receiving a VHT-Data segment can include waiting a predeterminedamount of time such as a guard time period before transmitting theacknowledgement. In some implementations, a VHT-Data segment includes oris append with padding.

As shown in FIG. 7A, an access point transmits signals to SDMA clientsusing omni-directional transmission periods and a steered transmissionperiod. In the steered transmission period, the access point uses twodifferent acknowledgement policies. The access point uses an implicitACK policy 701 for a first client, e.g., STA 1, and a block ACK policy702 for a second client, e.g., STA 2. In an implicit ACK policy 701, aclient can transmit an acknowledgement response 703 after the end of areceived frame, which can include PHY padding. If a SDMA client is notcapable of performing a block ACK or fails to initiate a block ACK withthe access point, such a SDMA client can be controlled to use animplicit ACK policy and send a response immediately following thereceived frame.

The access point can have an active Block ACK agreement with multipleSDMA clients. An access point can send a BAR 704 based on receiving anacknowledgement response 703 from a first client. Based on receiving theBAR 704, the second client can send a block acknowledgement 705. Asdepicted by FIG. 7A, a Short Interframe Space (SIFS) separates messagetraffic. In some implementations, a SIFS has a duration of 16microseconds.

As shown in FIG. 7B, an access point transmits a CTS-to-Self 706 to SDMAclients. In the CTS-to-Self 706, a CTS-to-Self MAC duration can indicatethe end of multiple immediate acknowledgement responses to SDMA basedcommunications. A client can determine a time to send an “immediateacknowledgement response” based on information received from the accesspoint. Different clients can determine different times to send arespective “immediate acknowledgement response.” In someimplementations, a guard time period separates access point transmissionfrom client transmission. Determining a time to send an immediateacknowledgement response can include using information such as a guardtime period value, L-SIG length, common VHT-SIG length, and VHT-Data MACduration. A L-SIG length can indicate the end of a maximum length PPDU.In some implementations, a L-SIG rate can indicate the end of a maximumlength PPDU. A length of a PPDU can account for an inclusion of PHYpadding 708. In some implementations, a L-SIG length or rate canindicate the end of immediate acknowledgement responses (e.g., the endof the last response). A common VHT-SIG length or MCS can indicate theend of a maximum length PPDU. A VHT-SIG length or MCS can indicate theend of a PSDU without PHY padding. A VHT-Data MAC duration can indicatethe end of a corresponding immediate response. In some implementations,a VHT-Data MAC duration can indicate the end of multiple immediateacknowledgement responses.

A response MAC duration can indicate the end of a correspondingimmediate response. In some implementations, a response MAC duration canindicate the end of multiple immediate acknowledgement responses.

A BAR MAC duration can indicate the end of a corresponding immediateresponse. In some implementations, a VHT-Data MAC duration can indicatethe end of multiple immediate acknowledgement responses.

As shown in FIG. 7C, an access point can interleave VHT-Datatransmissions 710, 712 with acknowledgement responses 711, 713.Moreover, an access point can attach a BAR 714 to a VHT-Datatransmission.

As shown in FIG. 7D, an access point can defer one or moreacknowledgement responses to subsequent SDMA transmissions. In thisexample, an access point rotates through clients to scheduleacknowledgement responses. The access point causes a first client totransmit an acknowledgement response 715 after transmitting a group ofSDMA signals to first and second clients. The access point causes asecond client to transmit an acknowledgement response 716 aftertransmitting a second group of SDMA signals to the first and secondclients.

As shown in FIG. 7E, an access point's transmissions include steeredtransmissions from the beginning of the PPDUs to respective SDMAclients. After the end of the steered transmissions, the access pointperforms an omni-directional transmission of an aggregated BAR 720. Anaggregated BAR 720 can be used in lieu of multiple BARs for respectivemultiple SDMA clients. An aggregated BAR 720 can include two or moreacknowledgement response starting time values for two or more clients,respectively. In some implementations, an aggregated BAR 720 can includeaddresses of two or more SDMA clients, BAR control and informationfields to each client, and acknowledgement response information such asblock acknowledgement transmission time or transmission sequence.

As shown in FIG. 7F, instead of sending an aggregated BAR as depicted byFIG. 7E, an access point can transmit separate BARs 725, 726 to SDMAclients concurrently by SDMA based communications. A BAR 725, 726 caninclude acknowledgement response information such as a responsetransmission time or a transmission sequence information. After an endof VHT-Data transmissions, the access point can perform steeredtransmissions of BARs to respective clients at the same time. In thisexample, a BAR for a first client indicates a start of a firstacknowledgement response time, whereas a BAR for a second clientindicates a start of a second acknowledgement response time which issubsequent to the first acknowledgement period.

FIGS. 8A, 8B, 8C, 8D, 8E, 8F, 8G, 8H, 8I, 8J, and 8K show examples ofcommunication flow layouts that include MAC scheduled acknowledgementinformation that is based on space division multiple accesscommunications. An access point can transmit acknowledgement schedulesvia one or more fields associated with a MAC layer.

As shown in FIG. 8A, an access point performs omni-directionaltransmissions and steered transmissions. In the steered transmissions,an access point transmits a first VHT-Data 805 to a first client and asecond VHT-Data 806 to a second client. The first and second VHT-Data805, 806 can include respective PPDUs. The first and second VHT-Data805, 806 can include respective MAC headers. The access point can use aMAC header field such as a duration field to carry acknowledgementresponse transmission time information for clients to acknowledgementrespective VHT-Data 805, 806.

In some implementations, acknowledgement response transmission timeinformation includes the offset between the end of a PPDU and anexpected acknowledgement response transmission time. In someimplementations, acknowledgement response transmission time informationindicates a duration of a SIFS before an expected acknowledgementresponse transmission time. In some implementations, an access pointselects the longest PPDU included in the steered transmissions todetermine an expected acknowledgement response transmission time.

As shown in FIG. 8B, an access point performs omni-directionaltransmissions and steered transmissions. The access point uses a firstacknowledgement policy for a first client and a second acknowledgementpolicy for a second client. The access point can solicit an immediateresponse 810 from one SDMA client by setting an ACK policy as animplicit ACK. The access point can solicit immediate responses 811 fromtwo or more additional SDMA clients by setting an ACK policy as SDMAimmediate ACK. A duration of a SIFS can separate immediate responses810, 811.

In some implementations, an implicit ACK policy setting can be modifiedto a SDMA immediate ACK policy setting. SDMA clients can differentiate aSDMA immediate ACK from an implicit ACK based on a SDMA preamble. Insome implementations, SDMA clients differentiate policies based on aSDMA indication in a VHT-SIG or a MAC header.

In some implementations, a Power Save Multi-Poll (PSMP) field such as“No Explicit/PSMP ACK” can be modified to a SDMA immediate ACK policysetting. If PSMP is not used, e.g. no PSMP UTT assignment, a SDMAimmediate ACK can be followed; otherwise, PSMP ACK can be followed.

In some implementations, a VHT-SIG can include a SDMA immediate ACKindication to indicate a SDMA immediate ACK policy to a client. In someimplementations, a MAC header can include a SDMA immediate ACKindication to indicate a SDMA immediate ACK policy to a client.

As shown in FIG. 8C, an access point uses different VHT-Data MACduration values 815, 816 to signal different times for acknowledgementresponses. The access point uses a first VHT-Data MAC duration value 815to indicate an end of a corresponding acknowledgement response for afirst client. The access point uses a second, longer VHT-Data MACduration value 816 to indicate an end of a corresponding acknowledgementresponse for a second client. A client uses a VHT-Data MAC durationvalue 815, 816 to determine an acknowledgement response starting time.For example, a client calculates a response starting time based onreceived a VHT-Data MAC duration value minus the time required totransmit a response frame.

The access point can calculate and transmit a VHT-Data MAC durationvalue. Calculating such as value can include estimating the duration ofa response frame by using a primary response transmission rate and thesize of response frame. A client can use the same primary responsetransmission rate and size of a response frame to calculate a durationof a response frame and determine the response starting time. A clientcan start a transmission of an acknowledgement response based on acalculated response starting time. The client can complete thetransmission before the response ending time, which can be indicated bya VHT-Data MAC duration of a received frame.

In some implementations, an access point uses a VHT-Data MAC durationvalue to indicate the start of a corresponding immediate response. Aclient can calculate a response starting time based on such a durationvalue plus a duration of a SIFS. Based on the access point transmittingdifferent duration values to respective clients, the clients determinedifferent starting times for their respective acknowledgement responses.

As shown in FIG. 8D, an access point controls a first client to use animplicit ACK policy and a second client to use a different policy. Thefirst client transmits an acknowledgement response 820 based on the endof a received frame. The first client can complete transmission within aresponse duration. In some implementations, a response duration iscalculated based on a primary response rate and a size of a responseframe. An acknowledgement response can include a MAC Duration toindicate an end of immediate responses. The second client can determinea starting time of an acknowledgement response 821 based on a VHT-DataMAC duration.

As shown in FIG. 8E, an access point can use a MAC duration to carry ACKscheduling information. A CTS-to-Self 825 can be used to indicate aduration of a transmission sequence. The duration can be based on alongest transmission sequence. In some implementations, a CTS-to-Selfcan be used to indicate an end of a transmission sequence. In someimplementations, a CTS-to-Self can be used to indicate a duration of aTransmission Opportunity (TXOP). In some implementations, a client setsan acknowledgement response duration field based on a CTS-to-Selfduration. In some implementations, a L-SIG can be used to indicate theduration of a transmission sequence. In some implementations, a clientsets an acknowledgement response duration field based on a durationindicated by a L-SIG.

As shown in FIG. 8F, an access point can transmit VHT-Data segments thathave different lengths. The access point can transmit a first VHT-SIGlength value 826 to a first client via a first spatial wireless channel.The access point can transmit a second, longer VHT-SIG length value 827to a second client via a second spatial wireless channel. A commonVHT-SIG length value 828 can indicate an end of a PPDU having themaximum length in a group of steered transmissions. A PPDU can include aVHT-Data segment. If required, a PPDU can include padding. The accesspoint can transmit a first VHT-Data MAC duration that indicates the endof all immediate responses to a first client. The access point cantransmit a second VHT-Data MAC duration that indicates the end of acorresponding immediate response to a second client. For a third client(not shown), the access point can transmit a third VHT-Data MAC durationthat indicates the end of a corresponding immediate response to thethird client.

As shown in FIG. 8G, an access point can use a MAC header field such asa TXOP limit in a QoS control field or a VHT control field to carry ACKscheduling information. In some implementations, ACK scheduling is basedon the time offset from the end of a PPDU to a starting time of anacknowledgement response 830. In some implementations, a MAC duration isused to indicate a duration or end of a transmission sequence or a TXOP.A client can determine an acknowledgement duration based on a MACduration in a received SDMA frame.

As shown in FIG. 8H, an access point can use a MAC padding delimiter tocarry response scheduling information. The access point can include aMAC padding delimiter 840, 841 in each SDMA PPDU. A PPDU can include oneor more MPDUs. A MPDU length can be used to signal response scheduling.In some implementations, a MAC padding delimiter 840, 841 has apre-determined duration.

As shown in FIG. 8I, an access point can perform an omni-directionaltransmission of a CTS-To-Self 845 to multiple clients that is followedby steered transmissions to the clients. A CTS-To-Self 845 can includeacknowledgement response transmission time information for multiple SDMAclients. In some implementations, acknowledgement response transmissiontime information can include an offset between the end of theCTS-to-Self 845 and an expected acknowledgement response transmissiontime. In some implementations, acknowledgement response transmissiontime information can include an offset between the end of the longestPPDU and an expected acknowledgement response transmission time.

As shown in FIG. 8J, an access point can perform an omni-directionaltransmission of a Request to Send (RTS) 850 that includesacknowledgement response transmission time information for each of theSDMA clients.

As shown in FIG. 8K, an access point can perform multiple steeredtransmissions of RTSs 855, 856. The steered transmissions include afirst RTS 855 to a first client and a second RTS 856 to a second client.The RTSs 855, 856 include different acknowledgement responsetransmission time values that cause the clients to selectively starttransmission of an acknowledgement response at different times.

FIGS. 9A, 9B, 9C, 9D, and 9E show examples of communication flow layoutsthat include PHY scheduled acknowledgement information that is based onspace division multiple access communications.

As shown in FIG. 9A, an access point can begin steered transmissions905, 906 at a beginning of a SDMA frame. The access point uses L-SIGs907, 908, in two or more steered transmissions 905, 906, to carryacknowledgement response transmission time information to two or moreclients. The access point can use different spatial wireless channels tocarry two or more acknowledgement response transmission time values totwo or more respective clients.

In some implementations, an access point uses the length and data ratefields of a L-SIG to carry the acknowledgement response transmissiontime information. Acknowledgement response transmission time informationcan include a value of an offset between the end of L-SIG and anexpected acknowledgement response transmission time. In someimplementations, an acknowledgement response transmission timeinformation is based on the end of the last transmission before anexpected acknowledgement response transmission, e.g., a SIFS before anexpected acknowledgement response transmission time. The clients can seta PHY Clear Channel Assessment (PHY-CCA) to be busy until the end of aL-SIG period that is indicated by received L-SIG length and data ratevalues.

As shown in FIG. 9B, an access point's transmissions can includeomni-directional transmissions and steered transmissions. The accesspoint uses VHT-SIGs 910, 911, in two or more steered transmissions, tocarry acknowledgement response transmission time information.Acknowledgement response transmission information can indicate a timeoffset between the end of VHT-SIGs 910, 911 and an expectedacknowledgement response transmission time. In some implementations,acknowledgement response transmission information can indicate the timeoffset between the end of the longest PPDU and an expectedacknowledgement response transmission time. In some implementations, theend of a PPDU includes a SIFS duration. A client can transmit anacknowledgement response as a response to a SDMA transmission. In someimplementations, a client can complete a transmission of a responseframe within a fixed duration that is common to multiple clients.

In some implementations, acknowledgement response transmissioninformation can include an acknowledgement response transmissionsequence. An access point can use a 4-bit information field to controlup to 16 SDMA clients. In some implementations, SDMA clients areallocated the same size acknowledgement response transmission slot andthe same data rate. In some implementations, the lowest commonlysupported rate among multiple SDMA clients is used to calculate a slotsize. A L-SIG can signal the starting point of the acknowledgementresponse sequence, which can be the end of the longest PPDU plus a SIFSduration.

As shown in FIG. 9C, an access point can use MAC padding 915 to ensurethat two or more SDMA PPDUs/PSDUs have the same duration. The accesspoint can use a common VHT-SIG length value to indicate an end or aduration of multiple PPDUs. In some implementations, a VHT-SIG MCS isset to the MCS of a corresponding PSDU, whereas the size of the PSDU canbe derived by the VHT-SIG MCS and a common PPDU and PSDU duration. Anaccess point can use different VHT-SIG length values to cause differentstarting times of acknowledgement responses. For example a client canuse a received VHT-SIG length value and a VHT-SIG MCS to calculate astarting time of a corresponding immediate response.

In some implementations, a client starts a transmission on or after aresponse starting time and ends one or more transmissions within aresponse duration. In some implementations, a response duration iscalculated by a primary response rate and a size of response frame. Insome implementations, an access points controls one SDMA client tofollow an implicit ACK policy. In some implementations, an access pointcan use a VHT-SIG length to indicate the size of a corresponding PSDU.

As shown in FIG. 9D, an access point can perform a omni-directionaltransmission of a CTS-to-Self 920 with a CTS-To-Self MAC duration thatindicates the end of multiple immediate responses, e.g., end of two ormore acknowledgement responses from two or more SDMA clients. To a firstclient, the access point can send a VHT-SIG length field that indicatesan end of a maximum length PPDU, which can be inclusive of MAC padding.To a second client, the access point can send a VHT-SIG length fieldthat indicates a start of a corresponding immediate response.

As shown in FIG. 9E, an access point can perform a omni-directionaltransmission of one or more common VHT-SIGs 925. A field such as alength or duration field in a common VHT-SIG 925 can indicate the end oftwo or more SDMA PPDUs. In some implementations, such a field canindicate the end of two or more immediate responses. A responsescheduling field can be included in two or more steered VHT-SIGs 926,927 to indicate corresponding acknowledgement response starting times,respectively. In some implementations, a corresponding response startingtime is offset from the end of two or more SDMA PPDUs. In someimplementations, a corresponding response starting time is offset fromthe end of two or more immediate responses.

FIG. 10 shows an example of a communication flow layout that includesimmediate response scheduling information. An access point can includean immediate response scheduling information 1005 into a VHT-SIG 1010for a first client. The access point can include an immediate responsescheduling information 1015 into a VHT-SIG 1020 for a second client. Insome implementations, a MAC header can include an immediate responsescheduling field. Immediate response scheduling information 1005, 1015can indicate a response starting time, a respond duration, or both. Ifthe access point does not receive an expected immediate response from aSDMA client with an active block ACK agreement, the access point cansend a BAR to request a response instead of retransmitting dataimmediately. The access point can include a common response duration1030 in one or more common VHT-SIGs 1035

In some implementations, an access point includes a response startingtime in one or more of VHT-SIG or MAC header. A client can start atransmission on or after a response starting time. In someimplementations, the client is required to end the one or moretransmissions within a response duration. In some implementations, aresponse duration is calculated by a primary response rate and a size ofan expected response frame.

In some implementations, an access point includes a response startingtime or a response sequence in a VHT-SIG. An access point can include acommon response duration in one or more common VHT-SIGs. A client canstart one or more transmissions following a response starting time or aresponse sequence. The client can complete one or more transmissionswithin a common response duration. In some implementations, a responsesequence is 2 bits. A 2-bit response sequence can support four SDMAclients. In some implementations, a response sequence is 3 bits orlonger. A 3-bit response sequence can support eight SDMA clients. Insome implementations, an access point includes a response starting timeor a response sequence in a MAC header.

In some implementations, an access point includes an individual responsestarting time and an individual response duration in a VHT-SIG, MACheader, or both. A client can start a transmission following a responsestarting time and can complete the transmission within the individualresponse duration. Individualized values can be transmitted via steeredcommunications.

In some implementations, an access point includes a information such asa response starting time or a response sequence in a VHT-SIG, MACheader, or both. An access point and clients can follow a fixed commonresponse duration. In some implementations, a fixed common responseduration is calculated by a lowest response rate and a size of basic orcompressed Block ACK frame. A client can start one or more transmissionsfollowing a response starting time or a response sequence. The clientcan complete the one or more transmissions within a fixed commonresponse duration.

In some implementations, if a SDMA transmission sequence is protected bya MAC mechanism (e.g., a CTS-to-Self or a RTS/CTS exchange) or a PHYmechanism (e.g., L-SIG TXOP), a client can complete a responsetransmission earlier than an expected ending time. The last immediateresponder can be allowed to complete transmissions after the expectedending time of a response frame.

An access point can monitor for multiple acknowledgement responses in ashared wireless medium from participating clients. If an immediateresponse is not received as expected, the medium may be idle until thenext scheduled response, e.g., the next acknowledgement response, whichcreates a gap. A nonparticipating client may interpret the gap to meanthat the nonparticipating client can start a transmission in the sharedwireless medium. However, starting an unrelated transmission mayinterfere with a transmission of an acknowledgement response fromanother participating client.

If the access point determines that an acknowledgement response has notbeen received, then the access point can transmit a signal to continue aprotection of a wireless medium from nonparticipating wirelesscommunication devices. The access point can send a message such as a BARto poll the next client to start transmission of an acknowledgementresponse.

In some implementations, an access point can reserve a wireless mediumfor a period of time, e.g., TXOP. In this period of time, the accesspoint can monitor for acknowledgement responses. If the wireless mediumis idle for a predetermined amount of time (e.g., point coordinationfunction (PCF) interframe space (PIFS)), a TXOP holder can transmit asignal containing a BAR or data to poll. The signal can be indicative ofan address of the next client that is expected to transmit anacknowledgement response.

In some cases, a BAR is shorter than an expected acknowledgementresponse such as a block acknowledgement which can create a transmissiongap if additional responses are expected. In some cases, the data topoll are longer than an expected acknowledgement response which cancreate a collision if one or more expected acknowledgement responses areremaining. Moreover, one or more clients can be hidden from each other,therefore, a delayed acknowledgement response from a client may notcause a busy medium around another client, which may cause one or morecollisions at the access point.

FIGS. 11A, 11B, 11C, 11D, 11E, 11F, 11G, and 11H show examples oftransmission sequences based on multi-user response recovery. An accesspoint can schedule acknowledgement responses for four or more clients(e.g., STA 1, STA 2, STA 3, and STA 4).

As shown in FIG. 11A, an access point can initially scheduleacknowledgement responses for four or more clients in a first protectionperiod such as a first Net Allocation Vector (NAV) period 1101. Based ona lack of reception of a response from STA 2, the access point can senda BAR to STA 3 which indicates a second NAV period 1102. In someimplementations, when the wireless medium is idle for a duration ofPIFS, a TXOP holder can send a BAR to the next immediate responder. Whenreceiving a BAR before a scheduled response, one or more subsequentresponders can cancel their respective scheduled responses. The nextimmediate responder can send an acknowledgement response based onreceiving the BAR. One or more remaining responders can wait for theirown BARs before sending an acknowledgement response.

As shown in FIG. 11B, an access point transmits a padded BAR 1105 topreserve an initially scheduled sequence of acknowledgement responsesfrom respective clients. In some implementations, if the access pointdoes not receive an acknowledgement response (e.g., a BA) within aduration of PIFS, then the access point can transmit a padded BAR 1105.In some cases, a BAR can be shorter than a missed BA. The access pointcan add padding to the BAR. For example, a BAR can be padded to the endof a missed BA. In some implementations, a BAR with a lower rate than anoriginally planned rate can be used. Note that the corresponding BA canuse a lower rate, the end of the BA can be earlier than the next BA,which can be based on a duration of a Reduced Inter-Frame Spacing(RIFS).

As shown in FIG. 11C, an access point transmits a BAR 1110 that islonger than a duration of a missed acknowledgement response. Instead ofa duration of SIFS between acknowledgement responses, a shorter duration(e.g., RIFS) is used between remaining acknowledgement responses thatare to be transmitted after the BAR 1110.

As shown in FIG. 11D, an access point transmits a null frame 1115 afterdetecting a missed acknowledgement response. In some implementations,when a wireless medium is idle for PIFS, the access point can send anull frame 1115 to keep the wireless medium busy until the end of amissed BA. In some implementations, the access point can send the nullframe 1115 earlier (e.g., 9 microseconds earlier) than the end of themissed BA. In some implementations, a null frame 1115 is a data framewith one or more Zero-Length-Delimiters in a payload. In someimplementations, a null frame 1115 includes a null signal which can bepart of a frame, e.g., part of a preamble. Subsequent BAs after themissed BA can keep the original schedule. In some implementations, theshortest null frame duration is 19 microseconds; and the longest nullframe duration is 55 microseconds.

As shown in FIG. 11E, an access point transmits a null frame 1120 thatis extended to match the end of the next scheduled acknowledgementresponse. If the access point cannot complete a shortest null framebefore the end of the missed BA, the access point can extend the nullframe 1120 until the end of the next scheduled BA. The next respondingclient, when receiving the null frame 1120 can cancel a scheduledresponse. In some implementations, the next responding client can cancela scheduled response based on detecting a busy channel. Subsequent BAsafter the next scheduled BA can keep the original schedule. After thescheduled responses, the access point can send a BAR 1125 to a clientthat experienced a canceled acknowledgement response.

As shown in FIG. 11F, an access point is expecting acknowledgementresponses in a first protection period, e.g., a first NAV. Based on alack of reception of an acknowledgement response, the access pointtransmits a CTS-to-Self 1130 to create a secondary protection period,e.g., a second NAV. The access point transmits BARs 1131, 1132 tosolicit acknowledgement responses from remaining clients, respectively.

In some implementations, when a BA is missed, multi-user acknowledgementresponses may fall back to a BAR-polling based approach. When a wirelessmedium is idle for a duration of PIFS, an access point can send aCTS-to-Self frame to cancel one or more subsequent scheduled responses.A CTS-to-Self frame can indicate a new NAV that is covering to the endof the last response.

A CTS-to-Self frame sent to cancel responses can be referred to as acancellation frame. When receiving such a cancellation frame, asubsequent responding client can cancel a scheduled response and waitfor a BAR. The immediate subsequent responding client (e.g., a clientwith a scheduled BA within 40 microseconds after the cancellation frameor before the end of the cancellation frame) can send a BA after thecancellation frame without explicit polling.

As shown in FIG. 11G, an access point transmits a response offset 1135based on a missed acknowledgement response. A response offset 1135 cansignal an offset value between a new response schedule and an oldresponse schedule. In some cases, the offset value is positive if theend of the response offset frame is later than the end of the missed BA.In some cases, the offset value is negative if the end of the responseoffset frame is earlier than the end of the missed BA. In someimplementations, a response offset 1135 can be formatted long enough andbe transmitted by the lowest rate such that the response offset 1135 islonger than the missed BA, and the offset value is positive. Theresponse offset 1135 can indicate a new NAV that covers to the end ofthe last response based on a new schedule. When receiving a responseoffset 1135, one or more responding clients that are scheduled after themissed BA can advance or delay their responses based on an offset valueindicated by the response offset 1135.

In FIG. 11H, an access point is expecting acknowledgement responses in afirst protection period, e.g., a first NAV. Based on a lack of receptionof an acknowledgement response, the access point transmits a CTS-to-Self1140 to create a secondary protection period, e.g., a second NAV. Afirst NAV can be indicated by one or more of: RTS-CTS exchange, L-SIG,or MAC duration in SDMA data. A CTS-to-Self 1140 can signal the secondNAV covering to the end of the last response based on a new schedulethat accounts for a missed acknowledgement response.

In some implementations, when receiving a CTS-to-Self 1140 in a missedacknowledgement response scenario, one or more remaining clients cancalculate a response offset between the second NAV and the first NAV.Such clients can advance or delay their responses based on a calculatedresponse offset. In some implementations, a duration field of aCTS-to-Self can signal a response offset. An offset can be positive ornegative, if the end of a CTS-to-Self is earlier than the end of amissed BA, another CTS-to-Self or a BAR can be sent.

In some implementations, if an immediate subsequent response is the lastscheduled response, an access point can directly send a BAR to elicitthe last response. The last responding client can cancel the originalschedule and can send a BA based on a received BAR.

Clients addressed by a SDMA frame, e.g., a multi-user (MU) frame thatincludes multiple steered communications, can send responsessequentially. In some implementations, a response sequence is based on aMU group member index. In some implementations, a response sequence isbased on a response sequence field in a preamble or a MAC header. One ormore clients can count the number of received frames after a MU basedPPDU to determine when to send an acknowledgement response. In someimplementations, one or more clients can count the number of receivedL-SIGs after a MU based PPDU to determine when to send anacknowledgement response. However, in a hidden terminal scenario,clients may not be able to receive each other's transmissions.

Before enabling sequential MU responses to a MU frame, an access pointcan request that MU clients conduct a mutual reachability check. Forexample, a MU client can check whether the client can receive a signalcorrectly from the other MU clients. The MU client can report MU groupreachability information to the access point. Based on the MU groupreachability check, the access point can arrange the sequence of MUresponses.

FIG. 12A shows an example of a communication flow layout associated witha multi-user reachability check process. The MU group reachability checkprocess includes a testing stage 1205 and a reporting stage 1210. Duringthe testing stage 1205, one or more clients are requested to send atesting message based on a technique such as polling, scheduling, or apredetermined sequential ordering; other clients attempt to receive thetesting message. During the reporting stage 1210, one or more clientsare requested to report to the access point the reachabilityinformation. In some implementations, a testing frame and a report frameare aggregated into a combined frame 1230 includes a MU-reach test frameand a response frame, which includes reachability information.

In some implementations, a multi-user reachability check processincludes one or more MU transmission periods with polled or scheduledresponses and a reporting period for reporting responses. In someimplementations, a multi-user reachability check process includes two ormore MU transmission periods with polled or scheduled responses. Suchresponses can include a MU reachability report and a response to a MUtransmission. In some implementations, a MU reachability report caninclude a 4-bit bitmap corresponding to the group member indices of fourdevices. In the bitmap, when a bit is set to one, a frame from acorresponding group member device can be received; otherwise the groupmember device is a hidden terminal.

In some implementations, a MU transmission and a response sequence usedfor MU reachability testing and reporting can be a sounding and feedbacksequence. In some implementations, a MU transmission and a responsesequence used for MU reachability testing and reporting can be a groupidentifier (GID) assignment and confirmation sequence.

FIG. 12B shows an example of a communication flow layout based on amulti-user reachability information. Based on MU clients' mutualreachability reports, an access point can arrange a sequence MUresponses 1255, 1260, 1270, 1275 to a SDMA based MU transmission 1250.The clients that can hear the transmissions from a portion of the groupmembers can be controlled to send responses earlier to the MUtransmission 1250 (e.g., RESP #1), whereas clients that can hear thetransmissions from most or all group members can be controlled to sendresponses later (e.g., RESP #3). If sequential responses for multipleclients cannot be arranged due to two or more hidden terminal problems,those clients that cannot be received by other clients can be polled orscheduled for responses. For example, the access point can transmit apoll 1280 to control a group member to send a response 1275.

In some wireless communication systems, SDMA is used on the uplinkbetween the clients and the access point. For example, multiple clientscan use SDMA to concurrently acknowledgement responses to an accesspoint.

FIG. 13A shows an example of a communication flow layout that includesdownlink and uplink SDMA communications. Downlink SDMA clients canestablish uplink SDMA channels with an access point. Response frames1305, 1310 from different downlink SDMA clients are transmitted afterthe longest SDMA based PPDU by using uplink SDMA. SDMA based PPDUs canbe padded to have the same length. The response frames 1305, 1310 caninclude acknowledge responses to data received in respective PPDUs.

In some implementations, RTS's are transmitted to SDMA clients by usingdownlink SDMA, whereas CTS's are returned from SDMA clients by usinguplink SDMA. CTS scheduling can be used. In some implementations, anadditional CTS-to-Self is used with a SDMA-transmitted RTS.

FIG. 13B shows another example of a communication flow layout thatincludes downlink and uplink SDMA communications. Downlink SDMA clientscan receive data concurrently from an access point via two or moredownlink spatial wireless channels. The clients can send acknowledgementresponses 1320, 1325 to the access point via uplink spatial wirelesschannels. The access point can send a CTS-to-Self 1330 which canindicate a CTS-to-self MAC duration. A L-SIG length can indicate the endof the longest immediate response. The access point can transmitseparate VHT-SIG length values that represent lengths of VHT-Data framesthat are addressed to two or more clients respectively.

The techniques and packet formats described herein can be compatiblewith various packet formats defined for various corresponding wirelesssystems such as one based on IEEE 802.11ac. For example, variouswireless systems can be adapted with the techniques and systemsdescribed herein to include signaling related to sounding via multipleclients and signaling of a SDMA frame.

A few embodiments have been described in detail above, and variousmodifications are possible. The disclosed subject matter, including thefunctional operations described in this specification, can beimplemented in electronic circuitry, computer hardware, firmware,software, or in combinations of them, such as the structural meansdisclosed in this specification and structural equivalents thereof,including potentially a program operable to cause one or more dataprocessing apparatus to perform the operations described (such as aprogram encoded in a computer-readable medium, which can be a memorydevice, a storage device, a machine-readable storage substrate, or otherphysical, machine-readable medium, or a combination of one or more ofthem).

The term “data processing apparatus” encompasses all apparatus, devices,and machines for processing data, including by way of example aprogrammable processor, a computer, or multiple processors or computers.The apparatus can include, in addition to hardware, code that creates anexecution environment for the computer program in question, e.g., codethat constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, or a combination of one or moreof them.

A program (also known as a computer program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, or declarative orprocedural languages, and it can be deployed in any form, including as astand alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment. A program does notnecessarily correspond to a file in a file system. A program can bestored in a portion of a file that holds other programs or data (e.g.,one or more scripts stored in a markup language document), in a singlefile dedicated to the program in question, or in multiple coordinatedfiles (e.g., files that store one or more modules, sub programs, orportions of code). A program can be deployed to be executed on onecomputer or on multiple computers that are located at one site ordistributed across multiple sites and interconnected by a communicationnetwork.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of what may be claimed, but ratheras descriptions of features that may be specific to particularembodiments. Certain features that are described in this specificationin the context of separate embodiments can also be implemented incombination in a single embodiment. Conversely, various features thatare described in the context of a single embodiment can also beimplemented in multiple embodiments separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments.

Other embodiments fall within the scope of the following claims.

What is claimed is:
 1. A method, comprising: transmitting a multi-userframe, in a frequency band, that concurrently provides data viaspatially steered streams to a group of wireless communication devices;monitoring for acknowledgements, in the frequency band, to respectiveportions of the multi-user frame; detecting, after the transmitting ofthe multi-user frame, a lack of reception of an expected acknowledgementfrom a first device of the wireless communication devices based on afirst protection period after the multi-user frame; and transmitting,based on the lack of reception of the expected acknowledgement, a signalin the frequency band to (i) create a second protection period toprevent a wireless communication device that is separate from the groupof wireless communication devices from interrupting a sequence ofacknowledgements associated with the multi-user frame, and (ii) controltransmission of an acknowledgement from a second device of the wirelesscommunication devices during the second protection period, the signalbeing addressed to the second device, wherein the second protectionperiod extends protection of a wireless medium from the first protectionperiod.
 2. The method of claim 1, wherein the signal comprises a blockacknowledgement request.
 3. The method of claim 1, wherein theacknowledgement from the second device is originally scheduled to besent after the expected acknowledgement from the first device, whereinthe signal reschedules the acknowledgement from the second device. 4.The method of claim 1, comprising: transmitting, in the frequency band,one or more block acknowledgement requests to one or more devices in thegroup of wireless communication devices to control transmission of blockacknowledgements from the one or more devices in the frequency band. 5.The method of claim 1, comprising: transmitting first responsescheduling information to cause the first device to transmit a firstacknowledgement during a first portion of an acknowledgement period; andtransmitting second response scheduling information to cause the seconddevice to transmit a second acknowledgement during a second, subsequentportion of the acknowledgement period, wherein the expectedacknowledgement comprises the first acknowledgement.
 6. The method ofclaim 5, comprising: controlling the group of the wireless communicationdevices to perform reachability testing, wherein the reachabilitytesting comprises determining whether a signal emanating from the firstdevice is at least received by the second device; and generating anacknowledgement response schedule based on the reachability testing,wherein the first response scheduling information and the secondresponse scheduling information are based on the acknowledgementresponse schedule.
 7. The method of claim 1, wherein transmitting themulti-user frame comprises: transmitting a first packet data unit (PDU)of a medium access control (MAC) layer to the first device via a firstspatial wireless channel, wherein the first PDU comprises firstinformation that causes the first device to selectively transmit anacknowledgement in a first period; and transmitting a second PDU of theMAC layer to the second device via a second spatial wireless channel,wherein the second PDU comprises second information that causes thesecond device to selectively transmit an acknowledgement in a secondperiod that is subsequent to the first period.
 8. A system, comprising:transceiver electronics to communicate with a group of wirelesscommunication devices; and processor electronics configured to: controla transmission of a multi-user frame, in a frequency band, thatconcurrently provides data via spatially steered streams to the group ofwireless communication devices, monitor for acknowledgements, in thefrequency band, to respective portions of the multi-user frame, detect,after the transmission of the multi-user frame, a lack of reception ofan expected acknowledgement from a first device of the wirelesscommunication devices based on a first protection period after themulti-user frame; and control, based on the lack of reception of theexpected acknowledgement, a transmission of a signal in the frequencyband to (i) create a second protection period to prevent a wirelesscommunication device that is separate from the group of wirelesscommunication devices from interrupting a sequence of acknowledgementsassociated with the multi-user frame, and (ii) control transmission ofan acknowledgement from a second device of the wireless communicationdevices during the second protection period, the signal being addressedto the second device, wherein the second protection period extendsprotection of a wireless medium from the first protection period.
 9. Thesystem of claim 8, wherein the signal comprises a block acknowledgementrequest.
 10. The system of claim 8, wherein the acknowledgement from thesecond device is originally scheduled to be sent after the expectedacknowledgement from the first device, wherein the signal reschedulesthe acknowledgement from the second device.
 11. The system of claim 8,wherein the processor electronics are configured to control atransmission, in the frequency band, of one or more blockacknowledgement requests to one or more devices in the group of wirelesscommunication devices to control transmission of block acknowledgementsfrom the one or more devices in the frequency band.
 12. The system ofclaim 8, wherein the processor electronics are configured to control atransmission of a first response scheduling information to cause thefirst device to transmit a first acknowledgement during a first portionof an acknowledgement period, wherein the processor electronics areconfigured to control a transmission of a second response schedulinginformation to cause the second device to transmit a secondacknowledgement during a second, subsequent portion of theacknowledgement period, and wherein the expected acknowledgementcomprises the first acknowledgement.
 13. The system of claim 12, whereinthe processor electronics are configured to (i) control the group of thewireless communication devices to perform reachability testing, thereachability testing comprising determining whether a signal emanatingfrom the first device is at least received by the second device, and(ii) generate an acknowledgement response schedule based on thereachability testing, wherein the first response scheduling informationand the second response scheduling information are based on theacknowledgement response schedule.
 14. The system of claim 8, whereinthe multi-user frame comprises: a first packet data unit (PDU) of amedium access control (MAC) layer intended for the first devicetransmitted in a first spatial wireless channel, wherein the first PDUcomprises first information that causes the first device to selectivelytransmit an acknowledgement in a first period; and a second PDU of theMAC layer intended for the second device transmitted in a second spatialwireless channel, wherein the second PDU comprises second informationthat causes the second device to selectively transmit an acknowledgementin a second period that is subsequent to the first period.
 15. Anapparatus, comprising: circuitry to control a transmission of amulti-user frame, in a frequency band, that concurrently provides datavia spatially steered streams to a group of wireless communicationdevices; and circuitry to (i) monitor for acknowledgements, in thefrequency band, to respective portions of the multi-user frame, (ii)detect, after the transmission of the multi-user frame, a lack ofreception of an expected acknowledgement from a first device of thewireless communication devices based on a first protection period afterthe multi-user frame, and (iii) control, based on the lack of receptionof the expected acknowledgement, a transmission of a signal in thefrequency band to create a second protection period to prevent awireless communication device that is separate from the group ofwireless communication devices from interrupting a sequence ofacknowledgements associated with the multi-user frame, and to controltransmission of an acknowledgement from a second device of the wirelesscommunication devices during the second protection period, the signalbeing addressed to the second device, wherein the second protectionperiod extends protection of a wireless medium from the first protectionperiod.
 16. The apparatus of claim 15, wherein the signal comprises ablock acknowledgement request.
 17. The apparatus of claim 15, whereinthe acknowledgement from the second device is originally scheduled to besent after the expected acknowledgement from the first device, whereinthe signal reschedules the acknowledgement from the second device. 18.The apparatus of claim 15, comprising: circuitry configured to control atransmission, in the frequency band, of one or more blockacknowledgement requests to one or more devices in the group of wirelesscommunication devices to control transmission of block acknowledgementsfrom the one or more devices in the frequency band.
 19. The apparatus ofclaim 15, comprising: circuitry configured to (i) control a transmissionof a first response scheduling information to cause the first device totransmit a first acknowledgement during a first portion of anacknowledgement period, and (ii) control a transmission of a secondresponse scheduling information to cause the second device to transmit asecond acknowledgement during a second, subsequent portion of theacknowledgement period, wherein the expected acknowledgement comprisesthe first acknowledgement.
 20. The apparatus of claim 15, wherein themulti-user frame comprises: a first packet data unit (PDU) of a mediumaccess control (MAC) layer intended for the first device transmitted ina first spatial wireless channel, wherein the first PDU comprises firstinformation that causes the first device to selectively transmit anacknowledgement in a first period; and a second PDU of the MAC layerintended for the second device transmitted in a second spatial wirelesschannel, wherein the second PDU comprises second information that causesthe second device to selectively transmit an acknowledgement in a secondperiod that is subsequent to the first period.